home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1996 July: Mac OS SDK / Dev.CD Jul 96 SDK / Dev.CD Jul 96 SDK1.toast / Development Kits (Disc 1) / OpenDoc Development Framework / ODFDev / ODF / Found / FWDebug / Sources / FWPriDeb.cpp < prev    next >
Encoding:
Text File  |  1996-04-25  |  4.1 KB  |  153 lines  |  [TEXT/MPS ]

  1. //========================================================================================
  2. //
  3. //    File:                FWPriDeb.cpp
  4. //    Release Version:    $ ODF 1 $
  5. //
  6. //    Copyright:    (c) 1993 - 1996 by Apple Computer, Inc., all rights reserved.
  7. //
  8. //========================================================================================
  9.  
  10. #include "FWFound.hpp"
  11.  
  12. // Need to include first so that FW_DEBUG is properly defined
  13.  
  14. #ifndef FWPRIDEB_H
  15. #include "FWPriDeb.h"
  16. #endif
  17.  
  18. #ifndef FWPRISTR_H
  19. #include "FWPriStr.h"
  20. #endif
  21.  
  22. #ifndef FWPRIMEM_H
  23. #include "FWPriMem.h"
  24. #endif
  25.  
  26. #ifndef FWODFEXC_H
  27. #include "FWODFExc.h"
  28. #endif
  29.  
  30. #include <stdio.h>
  31.  
  32. #if defined(FW_BUILD_MAC) && !defined(__TYPES__)
  33. #include <Types.h>
  34. #endif
  35.  
  36. #if defined(THINK_CPLUS) && !defined(__PASCAL__)
  37. #include <Pascal.h>
  38. #endif
  39.  
  40. #if defined(FW_BUILD_WIN) && !defined(_INC_WINDOWS)
  41. #include <Windows.h>
  42. #endif
  43.  
  44. #ifdef FW_BUILD_MAC
  45. #pragma segment FWDebug
  46. #endif
  47.  
  48.  
  49. //----------------------------------------------------------------------------------------
  50. // FW_CDebugConsole::RequireMessage
  51. //----------------------------------------------------------------------------------------
  52.  
  53. void FW_CDebugConsole::RequireMessage(const char* message)
  54. {
  55.     // When debugging, we display the assertion and fail.  When not debugging, we 
  56.     // just fail.  Users of FW_REQUIRE are advised that the FW_THROW can cross 
  57.     // shared library boundaries.  
  58. #ifdef FW_DEBUG
  59.     FW_SDebugConsole *aConsole = GetConsole();
  60.  
  61.     if (aConsole != 0 && aConsole->fDoAssertMessage != 0 && message != 0)
  62.         aConsole->fDoAssertMessage(aConsole, message);
  63. #endif
  64.  
  65.     FW_Failure(FW_xUnknownError);
  66. }
  67.  
  68. #ifdef FW_DEBUG
  69. //----------------------------------------------------------------------------------------
  70. // FW_CDebugConsole::AssertMessage
  71. //----------------------------------------------------------------------------------------
  72.  
  73. void FW_CDebugConsole::AssertMessage(const char* message)
  74. {
  75.     FW_SDebugConsole *aConsole = GetConsole();
  76.  
  77.     if (aConsole != 0 && aConsole->fDoAssertMessage != 0)
  78.         aConsole->fDoAssertMessage(aConsole, message);
  79. }
  80. #endif
  81.  
  82. #ifdef FW_DEBUG
  83. //----------------------------------------------------------------------------------------
  84. // FW_CDebugConsole::FatalMessage
  85. //----------------------------------------------------------------------------------------
  86.  
  87. void FW_CDebugConsole::FatalMessage(const char* message)
  88. {
  89.     FW_SDebugConsole *aConsole = GetConsole();
  90.  
  91.     if (aConsole != 0 && aConsole->fDoFatalMessage != 0)
  92.         aConsole->fDoFatalMessage(aConsole, message);
  93. }
  94. #endif
  95.  
  96. #ifdef FW_DEBUG
  97. //----------------------------------------------------------------------------------------
  98. // FW_CDebugConsole::DebugMessage
  99. //----------------------------------------------------------------------------------------
  100.  
  101. void FW_CDebugConsole::DebugMessage(const char* message)
  102. {
  103.     FW_SDebugConsole *aConsole = GetConsole();
  104.  
  105.     if (aConsole != 0 && aConsole->fDoDebugMessage != 0)
  106.         aConsole->fDoDebugMessage(aConsole, message);
  107. }
  108. #endif
  109.  
  110. #ifdef FW_DEBUG
  111. //----------------------------------------------------------------------------------------
  112. // FW_CDebugConsole::LogMessage
  113. //----------------------------------------------------------------------------------------
  114.  
  115. void FW_CDebugConsole::LogMessage(const char* message)
  116. {
  117.     FW_SDebugConsole *aConsole = GetConsole();
  118.  
  119.     if (aConsole != 0 && aConsole->fDoLogMessage != 0)
  120.         aConsole->fDoLogMessage(aConsole, message);
  121. }
  122. #endif
  123.  
  124. #ifdef FW_DEBUG
  125. //----------------------------------------------------------------------------------------
  126. // FW_CDebugConsole::Debugger
  127. //----------------------------------------------------------------------------------------
  128.  
  129. void FW_CDebugConsole::Debugger()
  130. {
  131.     FW_SDebugConsole *aConsole = GetConsole();
  132.  
  133.     if (aConsole != 0 && aConsole->fDoDebugger != 0)
  134.         aConsole->fDoDebugger(aConsole);
  135. }
  136. #endif
  137.  
  138. #ifdef FW_DEBUG
  139. //----------------------------------------------------------------------------------------
  140. // FW_CDebugConsole::SubclassResponsibility
  141. //----------------------------------------------------------------------------------------
  142.  
  143. void FW_CDebugConsole::SubclassResponsibility(const char* method)
  144. {
  145.     char msg[256];
  146.     sprintf(msg, "Subclass responsibility: %s", method);
  147.  
  148.     DebugMessage(msg);
  149. }
  150. #endif
  151.  
  152.  
  153.